home *** CD-ROM | disk | FTP | other *** search
/ Software of the Month Club 2000 October / Software of the Month - Ultimate Collection Shareware 277.iso / pc / PROGRAMS / UTILITY / WINLINUX / DATA1.CAB / programs_-_usrdoc / SUDO / INSTALL.{_2 < prev    next >
Text File  |  1999-09-17  |  13KB  |  297 lines

  1. Installation instructions for CU sudo 1.5.4
  2. ===========================================
  3.  
  4. Sudo uses a `configure' script to probe the capabilities and type
  5. of the system in question.  Please read this document fully before
  6. configuring and building sudo.  You may also wish to read the file
  7. INSTALL.configure which explains more about the `configure' script.
  8.  
  9. Simple sudo installation
  10. ========================
  11.  
  12. For most systems and configurations it is possible simply to:
  13.  
  14.     0) If you are upgrading from a previous version of sudo
  15.        please read the section "Notes on upgrading from an older release".
  16.  
  17.     1) If you previously ran `configure' on a different host
  18.        you will probably want to do a `make distclean' to remove
  19.        the old `config.cache' file.  Otherwise, `configure'
  20.        will complain and refuse to run.  Alternately, one can
  21.        simply `rm config.cache'.
  22.  
  23.     2) Read the `OS dependent notes' section for any particular
  24.        "gotchas" relating to your operating system.
  25.  
  26.     3) `cd' to the source or build directory and type `./configure'
  27.        to generate a Makefile and config.h file suitable for
  28.        building sudo.  Before you actually run configure you
  29.        should read the `Available configure options' section
  30.        to see if there are any special options you may want
  31.        or need.  Also of interest may be the section on
  32.        `Mixing password authentication schemes'.
  33.  
  34.     4) Edit the configure-generated Makefile if you wish to
  35.        change any of the default paths (alternately you could
  36.        have changed the paths via options to `configure'.
  37.  
  38.     5) Edit `options.h' to enable any particular non-default
  39.        options you wish to use.  Refer to the OPTIONS file for
  40.        an explanation of each one.  If you are building in
  41.        a separate build directory you may make a local copy
  42.        of options.h in that directory and edit it instead.
  43.  
  44.     6) Type `make' to compile sudo.  If you are building sudo
  45.        in a separate build tree (apart from the sudo source)
  46.        GNU make will probably be required.  If `configure' did
  47.        its job properly (and you have a supported configuration)
  48.        there won't be any problems.  If this doesn't work, take
  49.        a look at the files TROUBLESHOOTING and PORTING for tips
  50.        on what might have gone wrong.  Please mail us if you have a
  51.        fix or if you are unable to come up with a fix (address at EOF).
  52.  
  53.     7) Type `make install' (as root) to install sudo, visudo, the
  54.        man pages, and a skeleton sudoers file.  Note that the install
  55.        will not overwrite an existing sudoers file.  You can also
  56.        install various pieces the package via the install-binaries,
  57.        install-man, and install-sudoers make targets.
  58.  
  59.     8) Edit the sudoers file with `visudo' as necessary for your
  60.        site.  You will probably want to refer the sample.sudoers
  61.        file and sudoers man page included with the sudo package.
  62.  
  63. Notes on upgrading from an older release
  64. ========================================
  65. Sudo 1.5.4 expects the sudoers file to have different permissions
  66. (mode 0440) and be owned by user and group 0.  This differs from
  67. version 1.4 and below which expected the sudoers file to be owned
  68. by root and mode 0400.  Doing a `make install' will set the sudoers
  69. file to the new mode and group.  If sudo 1.5.4 encounters a sudoers
  70. file with the old permissions it will attempt to update it to the
  71. new scheme.  You cannot, however, use a sudoers file with the new
  72. permissions with an old sudo binary.  It is suggested that if have
  73. a means of distributing sudo you distribute the new binaries first,
  74. then the new sudoers file (or you can leave sudoers as is and sudo
  75. will fix the permissions itself as long as sudoers is on a local
  76. filesystem).
  77.  
  78. Available configure options
  79. ===========================
  80.  
  81. This section describes flags accepted by the sudo's `configure' script.
  82. Defaults are listed in brackets after the description.
  83.  
  84. Configuration:
  85.   --cache-file=FILE       Cache test results in FILE
  86.  
  87.   --help                  Print the usage/help info
  88.  
  89.   --no-create             Do not create output files
  90.  
  91.   --quiet, --silent       Do not print `checking...' messages
  92.  
  93. Directory and file names:
  94.   --prefix=PREFIX         Install architecture-independent files in PREFIX
  95.                           This really only applies to man pages.
  96.                           [/usr/local]
  97.  
  98.   --exec-prefix=EPREFIX   Install architecture-dependent files in EPREFIX
  99.                           This includes the sudo and visudo executables.
  100.                           [same as prefix]
  101.  
  102.   --bindir=DIR            Install `sudo' in DIR [EPREFIX/bin]
  103.  
  104.   --sbindir=DIR           Install `visudo' in DIR
  105.                           [EPREFIX/etc for historical reasons]
  106.  
  107.   --sysconfdir=DIR        Install `sudoers' file in DIR [/etc]
  108.  
  109.   --mandir=DIR            Install man pages in DIR [PREFIX/man]
  110.  
  111.   --srcdir=DIR            Find the sources in DIR [configure dir or ..]
  112.  
  113. Special features/options:
  114.   --with-CC               Specifies path to C compiler you wish to use.
  115.  
  116.   --with-getpass          Use system getpass(3) instead of sudo-supplied
  117.                           tgetpass() for systems where tgetpass() fails.
  118.  
  119.   --with-C2               Enable C2 security (shadow password) support
  120.                           See `Shadow password and C2 support' section
  121.                           for a list of supported platforms.
  122.  
  123.   --with-skey             Enable S/Key support.
  124.  
  125.   --with-opie             Enable NRL OPIE support.
  126.  
  127.   --with-SecurID          Enable SecurID support.
  128.  
  129.   --with-kerb4            Enable kerberos v4 support
  130.                           Tested only with the Cygnus Network Security
  131.                           package (CNS).
  132.  
  133.   --with-kerb5            Enable kerberos v5 support.
  134.                           This enables with kerberos v4 support and
  135.                           links with the standard kerberos v5 libraries
  136.                           as well as the v4 compatibility libraries.
  137.  
  138.   --with-AFS              Enable AFS support with kerberos authentication.
  139.                           Should work under AFS 3.3.  If your AFS
  140.                           doesn't have -laudit you should be able to
  141.                           link without it.
  142.  
  143.   --with-DCE              Enable DCE support.
  144.                           Known to work on HP-UX 9.X and 10.0.
  145.                           Other platforms may require source code
  146.                           and/or `configure' changes.
  147.  
  148.   --with-incpath          Adds the specified directories to CPPFLAGS
  149.                           so configure and the compiler will look there
  150.               for include files.  Multiple directories may
  151.               be specified as long as they are space separated.
  152.               Eg: --with-incpath="/usr/local/include /opt/include"
  153.  
  154.   --with-libpath          Adds the specified directories to SUDO_LDFLAGS
  155.               and VISUDO_LDFLAGS so configure and the compiler
  156.               will look there for libraries.  Multiple directories
  157.               may be specified as with --with-incpath.
  158.  
  159.   --with-libraries        Adds the specified libaries to SUDO_LIBS and
  160.               and VISUDO_LIBS so sudo will link against them.
  161.               If the library doesn't start with `-l' or end
  162.               in `.a' or `.o' a `-l' will be prepended to it.
  163.               Multiple libraries may be specified as long
  164.               as they are space separated.
  165.  
  166.   --with-csops            Add CSOps standard options.
  167.  
  168. Shadow password and C2 support
  169. ==============================
  170.  
  171. Shadow passwords (also included with most C2 security packages)
  172. are supported on most major platforms for which they exist.
  173. The `configure' script will attempt to determine if your
  174. system uses shadow passwords, but this is really just a guess.
  175. If configure guesses incorrectly you can use the `--with-C2' option
  176. to cause sudo to use shadow passwords (assuming sudo can figure
  177. out what type of shadow password scheme is available).  If configure
  178. thinks you can shadow passwords but you really do not you can
  179. use the `--without-C2' option to override configure's guess.
  180.  
  181. Shadow passwords are supported on the following platforms:
  182.  
  183.     SunOS 4.x
  184.     Solaris 2.x
  185.     HP-UX 9.x and 10.x
  186.     Ultrix 4.x
  187.     Digital UNIX 3.x amd 4.x
  188.     Irix 5.x and 6.x
  189.     AIX 3.2.x ad 4.x
  190.     ConvexOS with C2 security (not tested recently)
  191.     Linux
  192.     SCO 3.2.2
  193.     Pyramid DC/OSx
  194.     UnixWare
  195.     SVR4 (and variants using standard SVR4 shadow passwords)
  196.     4.4BSD based systems (including OpenBSD, NetBSD, FreeBSD, and BSD/OS)
  197.     OS's using SecureWare's C2 security.
  198.  
  199. It is possible to configure in shadow password support even
  200. if your system does not currently use shadow passwords.
  201. That way, if you put shadow passwords in place, your installed
  202. sudo will already support them.
  203.  
  204. Mixing password authentication schemes
  205. ======================================
  206.  
  207. It is possible to build sudo with support for several authentication
  208. schemes, including shadow passwords, kerberos, s/key, AFS, DCE and
  209. normal UN*X passwords into a single binary.  User validation will
  210. take slightly longer, of course, but it may be valuable to have a
  211. single sudo binary that is distributed among systems with varying
  212. authentication mechanisms.  The exception to this rule is SecurID
  213. which must be the only authentication mechanism used.
  214.  
  215. OS dependent notes
  216. ==================
  217.  
  218. OpenBSD < 2.2 and NetBSD < 1.2.1:
  219.     The fdesc filesystem has a bug wrt /dev/tty handling that
  220.     causes sudo to hang at the password prompt.  The workaround
  221.     is to set PASSWORD_TIMEOUT (in options.h) to 0.
  222.  
  223. Solaris 2.x:
  224.     You need to have a C compiler in order to build sudo.
  225.     Since Solaris 2.x does not come with one by default this
  226.     means that you either need to have purchased the unbundled Sun
  227.     C compiler or have a copy of the GNU C compiler (gcc).
  228.     The SunSoft Catalyst CD should contain gcc binaries for
  229.     Solaris.  You can also get them from various places on the
  230.     net, including http://smc.vnet.net/solaris_2.5.html.
  231.     NOTE: sudo will *not* build with the sun C compiler in BSD
  232.           compatibility mode (/usr/ucb/cc).  Sudo is designed
  233.           to compile with the standard C compiler (or gcc) and
  234.           will not build correctly with /usr/ucb/cc.  You can
  235.       use the `--with-CC' option to point `configure' to the
  236.       non-ucb compiler if it is not the first cc in your path.
  237.     Also: Many versions of Solaris come with a broken syslogd.
  238.       If you have having problems with sudo logging you should
  239.       make sure you have the latest syslogd patch installed.
  240.       This is a problem for Solaris 2.4 and 2.5 at least.
  241.  
  242. AIX 3.2.x:
  243.     I've had various problems with the AIX C compiler producing
  244.     incorrect code when the -O flag was used.  When optimization
  245.     is not used, the problems go away.  Gcc does not appear
  246.     to have this problem.
  247.  
  248.     Also, the AIX 3.2.x lex will not work with sudo's parse.lex.
  249.     This should not be a problem as sudo comes shipped with
  250.     a pre-generated lex.yy.c (created by flex).  If you want
  251.     to modify the lex tokenizer, make sure you grab a copy of
  252.     flex from ftp.ee.lbl.gov (also available on most GNU mirrors)
  253.     and sudo will use that instead.
  254.  
  255. Ultrix 4.x:
  256.     Ultrix still ships with the 4.2BSD syslog(3) which does not
  257.     allow things like logging different faclities to different
  258.     files, redirecting logs to a single loghost and other niceties.
  259.     You may want to just grab and install:
  260.     ftp://gatekeeper.dec.com/pub/DEC/jtkohl-syslog-complete.tar.Z
  261.     (available via anonymous ftp) which is a port if the 4.3BSD
  262.     syslog/syslogd that is backwards compatible with the Ultrix version.
  263.     I recommend it highly.  If you do not do this you probably want
  264.     to set `LOGGING' to SLOG_FILE in options.h.
  265.  
  266. Digital UNIX:
  267.     Digital UNIX 4.0 shipped with /usr/include/prot.h including acl.h,
  268.     but there is no /usr/include/acl.h.  Digital says this will be
  269.     fixed in the next release of Digital UNIX.  In the meantime
  270.     you can use the acl.h from /usr/sys/include/sys.  Digital
  271.     recommends that you just:
  272.     cd /usr/include
  273.     ln -s sys/acl.h acl.h
  274.     This will only be an issue if you are using C2 (enhanced)
  275.     security.
  276.  
  277. Linux:
  278.     One person reported that he needed to run configure with
  279.     the --with-getpass flag to get a working sudo.  Other people
  280.     haven't had that problem so it may only affect certain
  281.     distributions.
  282.     NOTE: Reportedly, Linux's execvp(3) doesn't always execute
  283.       scripts that lack the "#!/some/shell" header correctly.
  284.       The workaround is to give all your scripts a proper
  285.       header.
  286.     Linux libc6 (aka glibc2) has a broken lsearch().  You will need
  287.     to comment out the "#define HAVE_LSEARCH 1" line in config.h and
  288.     add lsearch.o to the LIBOBJS line in the Makefile.
  289.  
  290. SCO ODT:
  291.     You'll probably need libcrypt_i.a available via anonymous ftp
  292.     from sosco.sco.com.  The necessary files are /SLS/lng225b.Z
  293.     and /SLS/lng225b.ltr.Z.
  294.  
  295. Please send changes, bugs, security holes, and gripes to:
  296.     sudo-bugs@courtesan.com
  297.